<!DOCTYPE html>
<html lang='en'>

<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>Document</title>
    <script src='../vue.js'></script>
</head>

<body>
    <div id='app'>
        <input type="text" v-model="search">
        <ul>
            <li v-for="item in newperson" :key="item.id">
                {{item.name}}--{{item.age}}
            </li>
        </ul>
    </div>
    <script>
        Vue.config.productionTip = false;
        const vm = new Vue({
            el: '#app',
            data() {
                return {
                    search:'',
                    person:[
                        {id:'001',name:'laozhang',age:18},
                        {id:'002',name:'xiaozhang',age:28},
                        {id:'003',name:'dazhang',age:22},
                        {id:'004',name:'aozhang',age:32},
                    ],
                    newperson:[]
                }
            },
            watch:{
                search:{
                    immediate:true,
                    handler(newValue){
                        this.newperson=this.person.filter((item)=>{
                            return item.name.includes(newValue)
                        })
                    }
                }
            }
        })
    </script>
</body>

</html>